﻿using ConfExpert.Forms.Base;
using DevTeam;

using System;
using System.Collections.Generic;
using System.Data;

namespace ConfExpert.Forms.Depo.Aksesuar
{
    public partial class BoyamaDugmeGirisi : XForm
    {
        public BoyamaDugmeGirisi()
        {
            InitializeComponent();
        }

        private void BoyamaDugmeGirisi_Load(object sender, EventArgs e)
        {
            EnableBarcodeType(0);
            BarcodeRead += PO_BarcodeRead;
            gvDugmeBoyama.Init("GetDugmeBoyamaByBarkod", 0);
            gvDugmeBoyama.MakeColumnInvisible("BoyamaDurumId");
            gvDugmeBoyama.MakeReadOnly();
            gvDugmeBoyama.BestFitColumns();

            if(WhoAmI==95)
                txtIrsaliye.EditValueChanged += txtIrsaliye_EditValueChanged;
        }

        void txtIrsaliye_EditValueChanged(object sender, EventArgs e)
        {
            GrideEkle(txtIrsaliye.EditValue.ToInt());
        }

        List<int> DugmeBoyama = new List<int>();
        private void GrideEkle(int DugmeBoyamaId)
        {
            if(!DugmeBoyama.Contains(DugmeBoyamaId))
            {
                DataTable dt = ExecuteDataTable("GetDugmeBoyamaByBarkod", DugmeBoyamaId);
                if (dt.Rows.Count > 0)
                {
                    int boyamaDurum = dt.Rows[0]["BoyamaDurumId"].ToInt();
                    if (boyamaDurum != 2)
                    {
                        ShowErrorMessage("Giriş yapacağınız düğmenin durumu BOYAMADA olması gerekiyor !");
                        return;
                    }
                    gvDugmeBoyama.RefreshDataSource(dt, false);
                    DugmeBoyama.Add(DugmeBoyamaId);
                }
            }
        }

        private void bbiSave_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
            gvDugmeBoyama.EndEditing();
            string IrsaliyeNo =txtIrsaliye.EditValue.ToStr();
            if (IrsaliyeNo=="")
            {
                ShowErrorMessage("Lütfen irsaliye numarası girin");
                return;
            }

            string DugmeBoyamaIds = "";
            foreach (DataRow dr in gvDugmeBoyama.DataTable().Rows)
                DugmeBoyamaIds += dr["DugmeBoyamaId"].ToString() + ",";

            DugmeBoyamaIds = DugmeBoyamaIds.RemoveIfEndsWith(",");

            ExecuteNonQuery("InsStokGirisFromBoyama", DugmeBoyamaIds,IrsaliyeNo,WhoAmI);
            ShowInfoMessage("Okuttuğunuz düğmelerin girişleri yapıldı. İlgili çıkış emrilerini çıkabilirsiniz");
            gvDugmeBoyama.DataTable().Clear();
            DugmeBoyama.Clear();
            txtIrsaliye.EditValue = "";
        }

        void PO_BarcodeRead(int Type, int Barcode)
        {
            if (Type == 0)
                GrideEkle(Barcode);
        }
    }
}
